package com.ruoyi.flow.flow.workflow;

/**
 * Created by fenghuo on 2018/8/27.
 */
public class FlowAssignee {
    public static enum Field {
        /**
         * 办理用户
         */
        Assignee,
        /**
         * 候选用户
         */
        CandidateUser,
        /**
         * 候选用户组
         */
        CandidateGroup;
    }

    /**
     * 值类型，是变量还是常量
     */
    public static enum ValueType {
        /**
         * 变量，需要选择用户;例如{@code ${selectxxx}}
         */
        Select,
        /**
         * 变量，不需要选择用户，而是由监听器自动生成或者页面传递参数。
         * 例如获取当前用户的领导用户
         */
        NoSelect,
        /**
         * 常量，固定的用户ID
         */
        Constant;
    }


    /**
     * 用户输入项。办理用户/候选用户/候选群组
     */
    private Field field;
    /**
     * 用户值类型。固定用户ID/非页面选择用户/页面选择用户
     */
    private ValueType valueType;
    private String value;

    public Field getField() {
        return field;
    }

    public void setField(Field field) {
        this.field = field;
    }

    public ValueType getValueType() {
        return valueType;
    }

    public void setValueType(ValueType valueType) {
        this.valueType = valueType;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}
